Robo3T操作MongoDB数据库常用命令 您所在的位置:网站首页 mongodb 删除表 Robo3T操作MongoDB数据库常用命令

Robo3T操作MongoDB数据库常用命令

#Robo3T操作MongoDB数据库常用命令| 来源: 网络整理| 查看: 265

此次Robo 3T 版本是1.3.1,其他版本可能操作会略微不同 1、通过id查询(在页面上常常拿到的是MongoDB表数据的id)

样式:db.getCollection('集合名').find({'_id':ObjectId(value)})

例子:

db.getCollection('order').find({'_id':ObjectId("5f9150712ab7ca171cc84a43")})

2、查询某个字段值不为空(也可以用此方法过滤掉不存在此字段值的数据)

样式:  db.getCollection('集合名').find( { key : { $ne : value } } );

例子:查询orderId不为空

db.getCollection('order').find({'orderId':{ $ne : null }});

3、查询某个字段值不等于某值

样式:  db.getCollection('集合名').find( { key : { $ne : value } } );

例子:查询orderId不等于字符串12345676543

db.getCollection('order').find({'orderId':{ $ne :'12345676543' }});

4、查询某字段等于某个值(单个值)

样式:  db.getCollection('集合名').find( { key :  value  } );

例子:查询orderId等于字符串12345676543

db.getCollection('order').find({'orderId':'12345676543' });

5、查询某字段等于某些值(多个值)

样式:  db.getCollection('集合名').find( { key : {$in : ['值1','值2',.....]}  } );

例子:查询orderId等于字符串123和字符串45676543

db.getCollection('order').find({'orderId':{$in : ['123','45676543' ]} });

例子:查询orderNum等于123和45676543(这些是数值)

db.getCollection('order').find({'orderNum':{$in : [123,45676543]} });

6、查询某字段大于,小于、大于或等于、小于或等于某值

$gt(greater than)大于 、$lt(less than)小于、$gte:大于或等于、$lte:小于或等于、$ne: 不等于

使用不等于时,"$ne"后面可以跟非数值型的数据,例如str类型

样式:db.getCollection('集合名').find({'字段名':{'$gt':数值}})

例子:查询orderNum大于123的数据

db.getCollection('order').find({'orderNum':{$gt :123} });

7、查询某个字段存在或者不存在的数据

样式:  db.getCollection('集合名').find( { key : { $exists:false} } );//key不存在的数据

            db.getCollection('集合名').find( { key : { $exists:true} } );//key 存在的数据

例子:查询orderId不存在的数据

db.getCollection(‘order’).find({'orderId':{ $exists:false}});

查询orderId存在的数据

db.getCollection(‘order’).find({'orderId':{ $exists:true}});

8、多个字段查询数据

样式:  db.getCollection('集合名').find({'字段1':value,'字段2':value,......})

例子:按createTime和creator条件来查询

db.getCollection('order').find({'createTime':20201021154105,'creator':'zhangsan'})

9、查询数据的数量

样式:db.getCollection('集合名').find({'字段1':value,'字段2':value,......}).count() 

例子:按createTime和creator条件来查询数据量

db.getCollection('order').find({'createTime':20201021154105,'creator':'zhangsan'}).count()

10、查看数据的基本状态

样式:db.getCollection('集合名').stats()

例子:查询order表的基本状态

db.getCollection('order').stats()

11、嵌套字段的查询

例如:字段name是嵌套在user下的字段,即name是user的子字段。

查找所有name为某值的数据时,在user和name之间加点"."表示。

样式:db.getCollection('集合名').find({'A.B':value})//B属于A

例子:查询user下name等于zhangsan的数据

db.getCollection('order').find({'user.name':'zhangsan'})

12、删除数据(一般如果是一条数据,是先查询出结果,直接在数据处右键鼠标点击选择delete document即可)

样式:db.getCollection('集合名').remove({'字段名':'条件'})

例子:删除name等于zhangsan的数据

db.getCollection('order').remove({'name':'zhangsan'})

13、删除指定字段

样式 :db.getCollection('集合名').update({'字段名':{$exists:true}}, {$unset:{'字段名':''}}, {multi:true})

参数multi设置为true表示对集合中的所有文档执行该命令,若设置为false则只修改找到的第一条文档。

例子:删除network存在的第一条数据的deviceName字段

db.getCollection('order').update({'networkType':{$exists:true}},{$unset:{'deviceName':''}},{multi:false})

14、更新字段

样式:db.getCollection('集合名').update({'字段名':‘原属性’},{'$set':{'字段名':‘目标属性’}},{multi:true})

参数multi设置为true表示对集合中的所有文档执行该命令,若设置为false则只修改找到的第一条文档。

例子:更新network

db.getCollection('order').update({'networkType':'NJPSB'},{$set:{'networkType':'NJ'}},{multi:false})

15、按照指定排序输出显示

样式:db.getCollection('集合名').find().sort({"字段名":-1})

其中 1 为升序, -1 为降序

例子:按name字段降序

db.getCollection('order').find().sort({"name":-1})

16、只输出显示某个字段

样式:db.getCollection('集合名').find({}, {'要显示的字段':1})

例子:只显示name

db.getCollection('order').find({},{'name':1})

17、查看集合索引

样式:db.getCollection('集合名').getIndexes()

例子:查询order的索引信息

db.getCollection('order').getIndexes()

18、使用正则匹配查询某个字段中含有“某部分”内容的文档(部分匹配)

样式:db.getCollection('集合名').find({'字段名':{$regex:"要匹配的值"}})

例子:查询name含有zhang字符串的数据

db.getCollection('order').find({'name':{$regex:"zhang"}})

 

 

 

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有